Tema 07: Gestión de errores (Enunciados)

Nota: Estos ejercicios son optativos para hacer al final de la unidad y están pensados para apoyar tu aprendizaje.

1) Localiza el error en el siguiente bloque de código. Crea una excepción para evitar que el programa se bloquee y además explica en un mensaje al usuario la causa y/o solución:


In [1]:
# Completa el ejercicio aquí
try:
    resultado = 10/0
except ZeroDivisionError:
    print("ERROR: división por cero")
else:
    print("División realizada correctamente")
finally:
    print("Fin del bloque try")


ERROR: división por cero
Fin del bloque try

2) Localiza el error en el siguiente bloque de código. Crea una excepción para evitar que el programa se bloquee y además explica en un mensaje al usuario la causa y/o solución:


In [2]:
# Completa el ejercicio aquí
try:
    lista = [1, 2, 3, 4, 5]
    lista[10]
except IndexError:
    print("ERROR: acceso a índice incorrecto en lista")
else:
    print("Manejo de listas correcto")
finally:
    print("Fin del bloque try")


ERROR: acceso a índice incorrecto en lista
Fin del bloque try

3) Localiza el error en el siguiente bloque de código. Crea una excepción para evitar que el programa se bloquee y además explica en un mensaje al usuario la causa y/o solución:


In [3]:
# Completa el ejercicio aquí
try:
    colores = { 'rojo':'red', 'verde':'green', 'negro':'black' } 
    colores['blanco']
except KeyError:
    print("ERROR: acceso a clave incorrecta en diccionario")
else:
    print("Manejo de diccionario correcto")
finally:
    print("Fin del bloque try")


ERROR: acceso a clave incorrecta en diccionario
Fin del bloque try

4) Localiza el error en el siguiente bloque de código. Crea una excepción para evitar que el programa se bloquee y además explica en un mensaje al usuario la causa y/o solución:


In [5]:
# Completa el ejercicio aquí
try:
    resultado = 15 + "20"
except TypeError:
    print("ERROR: intento de suma de número y cadena")
else:
    print("Operación realizada correctamente")
finally:
    print("Fin del bloque try")


ERROR: intento de suma de número y cadena
Fin del bloque try

5) Realiza una función llamada agregar_una_vez() que reciba una lista y un elemento. La función debe añadir el elemento al final de la lista con la condición de no repetir ningún elemento. Además si este elemento ya se encuentra en la lista se debe invocar un error de tipo ValueError que debes capturar y mostrar este mensaje en su lugar:

  Error: Imposible añadir elementos duplicados => [elemento].

Prueba de agregar los elementos 10, -2, "Hola" a la lista de elementos con la función una vez la has creado y luego muestra su contenido.

Nota: Puedes utilizar la sintaxis: elemento in lista


In [7]:
elementos = [1, 5, -2]

# Completa el ejercicio aquí
def agregar_una_vez(lista, elemento):
    if elemento in lista:
        raise ValueError("ERROR: Imposible añadir elementos duplicados => [{}]".format(elemento))
    lista.append(elemento)
    
try:
    agregar_una_vez(elementos, 10)
    agregar_una_vez(elementos, -2)
except ValueError as e:
    print(e.args[0])
else:
    print("Elementos agregados correctamente")
finally:
    print("La lista resultante es {}".format(elementos))


ERROR: Imposible añadir elementos duplicados => [-2]
La lista resultante es [1, 5, -2, 10]

In [ ]: